/**
 * Samsung Project
 * Copyright (c) 2007 Mobile XG, Samsung Electronics, Inc.
 * All right reserved.
 *
 * This software is the confidential and proprietary information
 * of Samsung Electronics Inc. ("Confidential Information"). You
 * shall not disclose such Confidential Information and shall use
 * it only in accordance with the terms of the license agreement
 * you entered into with Samsung Electronics.
 */

/**
 * @file	fglconfig.h
 * @brief	This is the configuration header file for fgl.
 * @author	Cheolkyoo Kim
 * @version	1.5
 */

#if !defined(__FIMG_CONFIG_H__)
#define __FIMG_CONFIG_H__

/*----------------------------------------------------------------------------*/

#define FIMG_MAJOR 		1
#define FIMG_MINOR 		0
#define FIMG_BUILD 		00

/*----------------------------------------------------------------------------*/
/*
#define FIMG_DEBUG
#define VIP_WORKAROUND
#define FPGA_WORKAROUND

#define HOST_RENDER_STATUS		0x00000100
#define HOST_EXCUTE_FUNCTION	0x00000104
#define HOST_ERROR_CODE			0x00000108
*/
#define _FIMG3DSE_VER_1_1       /* Cancel */

#define _FIMG3DSE_VER_1_2       1
#define _FIMG3DSE_VER_1_2_1     2

#define _FIMG3DSE_VER_2_0     4
#define __STRICT_CHECK_CORRECT__    1

#define TARGET_FIMG_VERSION     _FIMG3DSE_VER_1_2_1
//#define _FIMG_PIPELINE_SINGLE

//#define _FGL_VALUE_CHECK

#if 0
    #define WIN32_VIP 		1
    #define FPGA_BOARD 		2
    #define EVAL_BOARD  	3

    #define TARGET_PLATFORM FPGA_BOARD

    #if TARGET_PLATFORM == FPGA_BOARD
    #define DUMP_FRAME_BUFFER
    #endif
#endif

/********************************************************************************
 ****************** New Directive should be needed to conform *******************
 ********************************************************************************/
// You must select one at least
// Support to the chip of FIMG-3DSE V1.2
#define DTV_A1F          0

// Support to the chip of FIMG-3DSE V1.5
#define S3C6410          1
#define DTV_CHELSEA      0

// Current FIMG-3DSE H/W Version
#define FIMG_3DSE        0
/*
#define FIMG_3DSE_VERSION_1_2_0     0
#define FIMG_3DSE_VERSION_1_2_1     0
#define FIMG_3DSE_VERSION_1_5_0     0
#define FIMG_3DSE_VERSION_1_5_1     0
#define FIMG_3DSE_VERSION_2_0_0     0
*/

#if defined(S3C6410)
    #define FIMG_3DSE_VERSION_1_5_0             1
    #define WORKAROUND_STENCIL_FUNC_SWAP        1
    #define FIMG_BASE   		                0x72000000
#elif defined(DTV_CHELSEA)
    #define FIMG_3DSE_VERSION_1_5_1     1
    #define FGL_SW_WORKAROUND_ID        1
#elif defined(DTV_A1F)
    #define FIMG_3DSE_VERSION_1_2_1     1
    #define FGL_SW_WORKAROUND_ID        1
#elif defined(FIMG_3DSE)
    #define FIMG_3DSE_VERSION_1_2_X     0
    #define FIMG_3DSE_VERSION_1_5_X     1
    #define FIMG_3DSE_VERSION_2_0_X     0
    #define FIMG_BASE   		        0x6FD00000
#endif


#if defined(FIMG_3DSE_VERSION_1_2_0) || defined(FIMG_3DSE_VERSION_1_2_1)
    #define FIMG_3DSE_VERSION_1_2_X
#endif

#if defined(FIMG_3DSE_VERSION_1_5_0) || defined(FIMG_3DSE_VERSION_1_5_1)
    #define FIMG_3DSE_VERSION_1_5_X
#endif

#if defined(FIMG_3DSE_VERSION_2_0_0)
    #define FIMG_3DSE_VERSION_2_0_X
#endif


#define FIRMWARE 		1
#define LINUX 		    2
#define WINCE  	        3

#define TARGET_PLATFORM     FIRMWARE

#if TARGET_PLATFORM == LINUX
//#define MemAlloc malloc
//#define MemFree free
//#define AcMemcpy memcpy
//	typedef HDC NativeDisplayType;
//	typedef HWND NativeWindowType;
//	typedef HBITMAP NativePixmapType;
#elif TARGET_PLATFORM == WINCE
//#define MemAlloc malloc
//#define MemFree free
//#define AcMemcpy memcpy
//#include "2460addr.h"
//#include "lcdlib.h"
//	typedef unsigned char NativeDisplayType;
//	typedef unsigned char NativeWindowType;
//	typedef unsigned char NativePixmapType;
#elif TARGET_PLATFORM == FIRMWARE

//#define FGLAPI  static inline void
#define FGLAPI  void
#define ASSERT  assert    
//#include "WmCrayon.h"
//#include "WmGrpInterface.h"
//#define malloc MemAlloc
//#define free(x) MemFree(x)
//	typedef unsigned char NativeWindowType;
//	typedef WmScreen NativeDisplayType;
//	typedef unsigned char NativePixmapType;
#endif

typedef unsigned int    uint32;
typedef   signed int     int32;
typedef unsigned short  ushort;
typedef unsigned int    fglenum;


#endif	/* __FIMG_CONFIG_H__ */


